package cn.zhangxh.base.service;

import cn.zhangxh.base.query.BaseQuery;
import cn.zhangxh.util.PageInfo;
import java.util.List;

/**
 * @param :
 * @Author zxh
 * @Date: 2022/1/24$ 15:05$
 * @Version 1.0
 * @return :
 * @Description: IBaseService$
 */
public interface IBaseService<T> {
    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 新增方法
     */
    void save(T t);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 更新方法
     */
    void update(T t);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 删除方法
     */
    void delete(Long id);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 通过id查询一个
     */
    T queryById(long id);

    /**
     * @Date: 2022/1/18 14:23
     * @param :
     * @return :
     * @Description: 查询所有
     */
    List<T> queryAll();

    /**
     * @Date: 2022/1/18 14:27
     * @param :
     * @return :
     * @Description: 分页信息
     */
    PageInfo<T> queryPage(BaseQuery query);
}
